function validaForm(form) {
    mascara();
    $(document).ready(function() {
        $("#" + form).validate({
            rules: {
                descricao: {
                    required: true,
                    minlength: 2,
                    maxlength: 200
                },
                email_usuario: {
                    required: true,
                    email: true
                },
                email_opcional: {
                    email: true,
                    notEqualTo: "#email_usuario"
                },
                data: {
                    required: true,
                    date: true
                },
                data_ini: {
                    required: true,
                    date: true
                },
                data_fim: {
                    required: true,
                    date: true
                },
                hora_ini: {
                    required: true,
                    time: true
                },
                hora_fim: {
                    required: true,
                    time: true
                },
                telefone: {
                    required: true,
                    phone: true
                },
                id_categoria_evento: {
                    required: true,
                    min: 1
                },
                id_categoria_noticia: {
                    required: true,
                    min: 1
                },
                id_tipo_categoria: {
                    required: true,
                    min: 1
                },
                ordem: {
                    required: true,
                    min: 1
                },
                classe: {
                    required: true
                },
                tipo: {
                    required: true
                },
                id_tipo_menu: {
                    required: true,
                    min: 1
                },
                id_questao: {
                    required: true,
                    min: 1
                },
                id_categoria_banner: {
                    required: true,
                    min: 1
                },
                data_aniversario: {
                    date: true
                },
                data_validade: {
                    date: true
                },
                descricao_portal: {
                    maxlength: 150
                },
                resumo_portal: {
                    maxlength: 100
                },
                palavras_chave_portal: {
                    maxlength: 150
                },
                email_contato: {
                    required: true,
                    email: true
                },
                telefone_contato: {
                    required: true
                },
                senha_atual: {
                    required: true
                },
                nova_senha: {
                    required: true
                },
                confirma_senha: {
                    required: true,
                    equalTo: "#nova_senha"
                },
                password_usuario: {
                    required: true
                },
                confirma_password: {
                    required: true,
                    equalTo: "#password_usuario"
                },
                login: {
                    required: true
                },
                senha: {
                    required: true
                },
                telefone_1: {
                    required: true
                },
                nome_usuario: {
                    required: true
                },
                palavra: {
                    required: true,
                    captcha: true
                },
                email_esq: {
                    required: true,
                    email: true
                },
                nome_contato: {
                    required: true
                },
                texto_contato: {
                    required: true
                }
            },
            // Define as mensagens de erro para cada regra
            messages: {
                descricao: {
                    required: "Preencha o campo acima.",
                    minLength: "O seu nome deve conter, no mínimo, 2 caracteres",
                    maxlength: "Quantidade de caracter não permitida! Informe uma quantidade menor."
                },
                email_usuario: {
                    required: "Digite o seu e-mail.",
                    email: "Digite um e-mail válido."
                },
                email_opcional: {
                    email: "Digite um e-mail válido",
                    notEqualTo: "Os e-mails informados não podem ser iguais."
                },
                data: {
                    required: "Digite a data",
                    date: "Data incorreta!"
                },
                data_ini: {
                    required: "Digite a data inicial",
                    date: "Data incorreta!"
                },
                data_fim: {
                    required: "Digite a data final",
                    date: "Data incorreta!"
                },
                hora_ini: {
                    required: "Digite a hora inicial",
                    time: "Hora incorreta!"
                },
                hora_fim: {
                    required: "Digite a hora final",
                    time: "Hora incorreta!"
                },
                telefone: {
                    required: "Digite o telefone",
                    phone: "Telefone incorreto!"
                },
                id_categoria_evento: {
                    required: "",
                    min: null
                },
                id_categoria_noticia: {
                    required: "",
                    min: null
                },
                id_tipo_categoria: {
                    required: "",
                    min: null
                },
                id_tipo_menu: {
                    required: "",
                    min: null
                },
                id_questao: {
                    required: "",
                    min: null
                },
                id_categoria_banner: {
                    required: "",
                    min: null
                },
                ordem: {
                    required: "Informe a ordem.",
                    min: null
                },
                classe: {
                    required: "Informe a classe."
                },
                tipo: {
                    required: "Informe o tipo."
                },
                descricao_portal: {
                    maxlength: "Permitido máximo 200 caractéres."
                },
                resumo_portal: {
                    maxlength: "Permitido máximo 200 caractéres."
                },
                palavras_chave_portal: {
                    maxlength: "Permitido máximo 200 caractéres."
                },
                email_contato: {
                    required: "Informe o e-mail.",
                    email: "E-mail incorreto!"
                },
                telefone_contato: {
                    required: "Informe um Telefone."
                },
                senha_atual: {
                    required: "Informe a senha atual"
                },
                nova_senha: {
                    required: "Informe a nova senha"
                },
                confirma_senha: {
                    required: "Confirme a senha",
                    equalTo: "Senha de confirmação incorreta."
                },
                password_usuario: {
                    required: "Informe a senha"
                },
                confirma_password: {
                    required: "Confirme a senha",
                    equalTo: "Senha de confirmação inválida."
                },
                login: {
                    required: "Informe o login"
                },
                senha: {
                    required: "Informe a senha"
                },
                telefone_1: {
                    required: "Informe o telefone."
                },
                nome_usuario: {
                    required: "Informe o nome."
                },
                palavra: {
                    required: "Informe o código",
                    captcha: "código incorreto"
                },
                email_esq: {
                    required: "Informe o email.",
                    email: "E-mail incorreto."
                },
                nome_contato: {
                    required: "Informe o nome."
                    
                },
                texto_contato: {
                    required: "Preencha o campo de texto."
                    
                }
            }
        });
    });
}
function mascara() {
    jQuery(function($) {
        //$("#data").mask("99/99/9999");
        $("#telefone").mask("(99)99999999");
        $("#telefone_1").mask("(99)99999999");
        $("#telefone_2").mask("(99)99999999");
        $("#fax").mask("(99)99999999");
//        $("#telefone_contato").mask("(99)99999999");
//        $("#celular_contato").mask("(99)99999999");
        $("#celular").mask("(99)99999999");
        $("#cpf").mask("999.999.999-99");
        $("#hora_ini").mask("99:99");
        $("#hora_fim").mask("99:99");
        //$("#ordem").mask("99");
        $("#cep").mask("99999-999");

    });
}
function atualizaCaptcha(caminho) {
    document.getElementById('captcha').src = caminho + '&rand=' + Math.random();
    $("#palavra").val("");
}
var ss = -1;
function atualizaContador(cont, url)
{
    ss = (ss == -1) ? cont : ss;
    var faltam = 'Você será redirecionado em ' + ss + ' segundos.';

    if (ss > 0) {
        document.getElementById('redir').innerHTML = faltam;
        ss--;
        setTimeout(atualizaContador, 1000);
    } else {
        location.href = url;
    }
}
/* Máscaras ER */
function mask_tel_nono_digito(o, f) {
    v_obj = o;
    v_fun = f;
    setTimeout("execmascara()", 1);
}
function execmascara() {
    v_obj.value = v_fun(v_obj.value);
}
function mtel(v) {
    v = v.replace(/\D/g, "");             //Remove tudo o que não é dígito
    v = v.replace(/^(\d{2})(\d)/g, "($1) $2"); //Coloca parênteses em volta dos dois primeiros dígitos
    v = v.replace(/(\d)(\d{4})$/, "$1-$2");    //Coloca hífen entre o quarto e o quinto dígitos
    return v.substring(0, 15);
}
function mtel_valida_ddd(v) {
    v = v.replace(/\D/g, "");             //Remove tudo o que não é dígito
    if (v.substring(0, 2) === "11") {
        v = v.replace(/^(\d{2})(\d)/g, "($1) $2"); //Coloca parênteses em volta dos dois primeiros dígitos
        v = v.replace(/(\d)(\d{4})$/, "$1-$2");    //Coloca hífen entre o quarto e o quinto dígitos
        return v.substring(0, 15);
    } else {
        return mask_tel_by_valor(v);
    }
}






